
/**
 * url-loader其实是基于file-loader的
 * 如果文件大小高于阈值，走file-loader
 * 如果文件大小小于阈值的，变成base64字符串
 */
const mime  = require('mime');
const path = require('path');
const { getOptions, } = require("loader-utils");
function loader(content){
    let options = getOptions(this)||{};
    console.log('options',options);
    let {limit,fallback='file-loader2'}= options;
    if(limit){
        limit=parseInt(limit,10);//8k
    }
    console.log('limit',limit,content.length);
    if(!limit || content.length< limit){
       let mimeType = mime.getType(this.resourcePath);//resourcePath就是要加载的文件的路径
       let base64Str = 'data:'+mimeType+';base64,'+content.toString('base64');
       return 'module.exports = '+JSON.stringify(base64Str);
    }else{
        console.log(limit,content.length);
        //require方法是node提供的，根本不会读取我们配置的webpack配置
        let fileLoader2 = require(fallback);
        return fileLoader2.call(this,content);
    }
}
loader.raw = true;
module.exports = loader;